package com.fortune.rainshinecommon.model;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.fortune.rainshinecommon.base.BaseModel;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * @program: rainShine
 * @description: 加盟店类
 * @author: tangyn
 * @create: 2019-03-06
 **/
@TableName("shops")
public class ShopModel extends BaseModel{

	private static final long serialVersionUID = -2415694964318954893L;
	
    /**
     * 名称
     */
    @NotBlank(message = "加盟店名称不能为空")
    @Size(max = 200, message = "加盟店名称不能超过200字")
    private String shopName;
    /**
     * 省份编码
     */
    //@NotBlank(message = "所在省份不能为空")
    private String provinceCode;
    @TableField(exist = false)
    private String provinceName;
    /**
     * 城市编码
     */
    private String cityCode;
    @TableField(exist = false)
    private String cityName;
    
    /**
     * 区县code
     */
    private String areaCode;
    @TableField(exist = false)
    private String areaName;
    /**
     * 地址
     */
    @Size(max = 200, message = "加盟店地址不能超过200字")
    private String address;
    /**
     * 地理坐标
     */
    @Size(max = 80, message = "坐标格式不正确")
    private String shopPosition;
    /**
     * 联系电话
     */
//    @Size(max = 16, message = "电话格式不正确")
//    private String shopTel;
    /**
     * 状态（1：正常，0：停店）
     */
    private Byte shopStatus;
    /**
     * 店铺级别（1：总店，2：招商,3:加盟店）
     */
    private Integer shopLevel;
    /**
     * 店长编码
     */
    @NotNull(message = "店长不能为空")
    private Integer managerId;
    @TableField(exist = false)
    private String managerName;
    /**
     * 上级招商人员编码
     */
    @NotNull(message = "上级招商人员不能为空")
    private Integer merchantsId;
    @TableField(exist = false)
    private String merchantsName;
    @TableField(exist = false)
    private Integer parentId;  // 上级菜单

    private Date statDate;  //日统计时间

    private Date statMonth; //月统计时间
    
    private Byte area;//区域0：国内1：国外
    @TableField(exist = false)
    private String managerPhone; //店长电话
    @TableField(exist = false)
    private String managerAvatar; //店长头像

    public String getManagerAvatar() {
        return managerAvatar;
    }

    public void setManagerAvatar(String managerAvatar) {
        this.managerAvatar = managerAvatar;
    }

    public String getManagerPhone() {
        return managerPhone;
    }

    public void setManagerPhone(String managerPhone) {
        this.managerPhone = managerPhone;
    }

    public Date getStatDate() {
        return statDate;
    }

    public void setStatDate(Date statDate) {
        this.statDate = statDate;
    }

    public Date getStatMonth() {
        return statMonth;
    }

    public void setStatMonth(Date statMonth) {
        this.statMonth = statMonth;
    }

    public String getAreaCode() {
		return areaCode;
	}

	public void setAreaCode(String areaCode) {
		this.areaCode = areaCode;
	}

	public String getProvinceCode() {
        return provinceCode;
    }

    public void setProvinceCode(String provinceCode) {
        this.provinceCode = provinceCode;
    }

    public String getCityCode() {
        return cityCode;
    }

    public void setCityCode(String cityCode) {
        this.cityCode = cityCode;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getShopPosition() {
        return shopPosition;
    }

    public void setShopPosition(String shopPosition) {
        this.shopPosition = shopPosition;
    }

//    public String getShopTel() {
//        return shopTel;
//    }
//
//    public void setShopTel(String shopTel) {
//        this.shopTel = shopTel;
//    }

    public Byte getShopStatus() {
        return shopStatus;
    }

    public void setShopStatus(Byte shopStatus) {
        this.shopStatus = shopStatus;
    }

    public Integer getManagerId() {
        return managerId;
    }

    public void setManagerId(Integer managerId) {
        this.managerId = managerId;
    }

    public Integer getMerchantsId() {
        return merchantsId;
    }

    public void setMerchantsId(Integer merchantsId) {
        this.merchantsId = merchantsId;
    }

    public String getProvinceName() {
		return provinceName;
	}

	public void setProvinceName(String provinceName) {
		this.provinceName = provinceName;
	}

	public String getCityName() {
		return cityName;
	}

	public void setCityName(String cityName) {
		this.cityName = cityName;
	}

	public String getAreaName() {
		return areaName;
	}

	public void setAreaName(String areaName) {
		this.areaName = areaName;
	}

	public String getManagerName() {
		return managerName;
	}

	public void setManagerName(String managerName) {
		this.managerName = managerName;
	}

	public String getMerchantsName() {
		return merchantsName;
	}

	public void setMerchantsName(String merchantsName) {
		this.merchantsName = merchantsName;
	}
	

	public Integer getShopLevel() {
		return shopLevel;
	}

	public void setShopLevel(Integer shopLevel) {
		this.shopLevel = shopLevel;
	}

	public ShopModel() {
		super();
	}


	public ShopModel(String managerName,Integer integer, Byte i) {
		super();
		this.shopName = managerName;
		this.shopStatus = i;
		this.managerId = integer;
		this.merchantsId = integer;
		this.provinceCode = "370000";
		this.cityCode = "370200";
		this.areaCode = "370203";
	}
	
	public ShopModel(String managerName,Integer integer,Integer integer2, Byte i) {
		super();
		this.shopName = managerName;
		this.shopStatus = i;
		this.managerId = integer;
		this.merchantsId = integer2;
		this.provinceCode = "370000";
		this.cityCode = "370200";
		this.areaCode = "370203";
	}

	public Integer getParentId() {
		return parentId;
	}

	public void setParentId(Integer parentId) {
		this.parentId = parentId;
	}

	public Byte getArea() {
		return area;
	}

	public void setArea(Byte area) {
		this.area = area;
	}
	
	
	
	
	
}
